
public class Propriedade
{
	public string Nome;
	public virtual decimal Passivo { get { return 0; } }
}

public class Accoes : Propriedade
{
	public int NumeroAccoes;
}

public class Casa : Propriedade
{
	public decimal Hipoteca;
	public override decimal Passivo { get { return Hipoteca; }}
}

public class Teste
{
	public static void Mostrar(Propriedade prop)
	{
		System.Console.WriteLine(prop.Nome);
	}

	public static void Main()
	{
		Accoes ctt = new Accoes
		{
			Nome = "CTT", NumeroAccoes = 1000
		};
		
		Casa mansao = new Casa
		{
			Nome = "Mansao", Hipoteca = 1000
		};
		
		Mostrar(ctt); Mostrar(mansao);
	}
}